#ifndef BRANCH_H
#define BRANCH_H

#include "Node.h"
#include "StatementList.h"
#include <vector>

class Branch : public Node // Branch nodes have a condition and at least one statement list (if, if-else, etc)
{
	public:
		Branch(Node * Condition, Node * FirstBlock);
		~Branch();
		Node * getCondition() const;
		const std::vector<Node*> & getBlocks() const;
		void addBlock(Node * block);
	private:
		Node * condition;
		std::vector<Node*> blocks;
};

#endif

